/**
 * 所有的扫码进入页面，需要存储在本地缓存，在这里统一管理，统一引用
 */


/**
 * 传入存储key，从页面和存储里面查找，返回存储结果
 * @param storege_key		存储的键值
 * @param page_options		页面参数
 * @param app				小程序app全局对象
 * @param config			存储配置参数
 * @returns {*}				返回一个对象
 * @returns  value 			返回值
 * @returns is_exist	   值是否存在
 * @returns storage_type  	page：页面中存储的参数，storage：存储中存储的参数
 */
function getStorageValueByKey(option_key,page_options,app={},config={'error':true,'tip':'缺少必要参数，请重新扫码'}){
	var page_exist 		=	false;
	var storege_exist 	=	false;
	var app_global_data	=	app.globalData;
	var storage_key     =   'page_scan_'+option_key;
	if(page_options[option_key] ==''||page_options[option_key] ==null ||page_options[option_key] ==undefined ){
		//没有携带参数的情况

	}else{
        page_exist 						= true;
	}

	if( app_global_data[storage_key] ==''||app_global_data[storage_key] ==null ||app_global_data[storage_key] ==undefined){
        //没有缓存的情况

	}else{
        storege_exist 						= true;
	}

	if(page_exist){
        //页面参数同时存在，用页面参数更新缓存
        app.globalData[storage_key] = page_options[option_key];
        return page_options[option_key];
	}else{
        //页面没有参数，缓存存在的情况下，返回缓存
        if(storege_exist){
            return app_global_data[storage_key];
        }else{
            //页面没有参数，缓存也不存在的情况下，返回报错
                wx.showToast({
                    title:config.tip?config.tip:'缺少参数：'+storege_key+'，请扫码重试',
                    mask: true,
                    icon: 'none',
                    duration: 2000000
                });
                return false;
        }
	}
}


module.exports = {
	getStorageValueByKey:getStorageValueByKey,
}